package com.tencent.iov.cowin.befsale.clue.controller.clue.vo.request;

import com.software.common.model.request.ScrmBaseRequest;

import lombok.Data;

import org.hibernate.validator.constraints.Length;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import javax.validation.constraints.NotEmpty;

import java.util.Date;
import java.util.List;

/**
 * 查询_Request层
 *
 * @author whp
 * @version 1.0
 * @created 2021-12-23 14:53:43
 */
@Data
@ApiModel(description = "线索客户宽表_Request层")
public class QueryClueCustomerCollectRequest extends ScrmBaseRequest {

    /**
     * 主键
     */
    @ApiModelProperty(value = "主键", example = "stringValue")
    private Long id;
    /**
     * 线索id
     */
    @ApiModelProperty(value = "线索id", example = "stringValue")
    private Long clueId;
    /**
     * 线索状态（ 0跟进中 10已到店，15已下订，20已交车，25已实销，30战败审核 35已战败 跟进内容关联关系
     */
    @ApiModelProperty(value = "线索状态（ 0跟进中 10已到店，15已下订，20已交车，25已实销，30战败审核 35已战败 跟进内容关联关系", example = "1")
    private Integer clueStatus;
    /**
     * 线索创建时间
     */
    @ApiModelProperty(value = "线索创建时间", example = "2020-03-28T13:46:56.711Z")
    private Date clueCreatedTime;
    /**
     * 线索下发经销商时间
     */
    @ApiModelProperty(value = "线索下发经销商时间", example = "2022-03-28T13:46:56.711Z")
    private Date cluePlanTime;
    /**
     * 战败申请人
     */
    @ApiModelProperty(value = "战败申请人", example = "stringValue")
    private Long failEmpId;
    /**
     * 线索战败时间
     */
    @ApiModelProperty(value = "线索战败时间", example = "2020-03-28T13:46:56.711Z")
    private Date failCreatedTime;
    /**
     * 战败主因 list id标签
     */
    @ApiModelProperty(value = "战败主因 list id标签", example = "stringValue")
    private String failReasonCodes;
    /**
     * 战败备注
     */
    @ApiModelProperty(value = "战败备注", example = "stringValue")
    private String failRemark;
    /**
     * 审批战败时间
     */
    @ApiModelProperty(value = "审批战败时间", example = "2020-03-28T13:46:56.711Z")
    private Date approveCreatedTime;
    /**
     * 审批备注
     */
    @ApiModelProperty(value = "审批备注", example = "stringValue")
    private String approveRemark;
    /**
     * 战败状态（0待审批，1同意战败、2拒绝战败 3战败激活
     */
    @ApiModelProperty(value = "战败状态（0待审批，1同意战败、2拒绝战败 3战败激活", example = "1")
    private Integer failStatus;
    /**
     * 客户表主键
     */
    @ApiModelProperty(value = "客户表主键", example = "stringValue")
    private Long cusId;
    /**
     * 外部联系人头像，第三方不可获取
     */
    @ApiModelProperty(value = "外部联系人头像，第三方不可获取", example = "stringValue")
    private String avatar;
    /**
     * 姓名
     */
    @ApiModelProperty(value = "姓名", example = "stringValue")
    private String name;
    /**
     * 手机号
     */
    @ApiModelProperty(value = "手机号", example = "stringValue")
    private String phone;
    /**
     * 备用手机号
     */
    @ApiModelProperty(value = "备用手机号", example = "stringValue")
    private String phoneBak;
    /**
     * 性别
     */
    @ApiModelProperty(value = "性别", example = "1")
    private Integer gender;
    /**
     * 客户类型 个人/公司
     */
    @ApiModelProperty(value = "客户类型 个人/公司", example = "1")
    private Integer typeCode;
    /**
     * 年龄
     */
    @ApiModelProperty(value = "年龄", example = "1")
    private Integer age;
    /**
     * 婚姻
     */
    @ApiModelProperty(value = "婚姻", example = "stringValue")
    private String marriage;
    /**
     * 生日
     */
    @ApiModelProperty(value = "生日", example = "stringValue")
    private String birthday;
    /**
     * 省code
     */
    @ApiModelProperty(value = "省code", example = "stringValue")
    private String provinceCode;
    /**
     * 市code
     */
    @ApiModelProperty(value = "市code", example = "stringValue")
    private String cityCode;
    /**
     * 区code
     */
    @ApiModelProperty(value = "区code", example = "stringValue")
    private String districtCode;
    /**
     * 详细地址
     */
    @ApiModelProperty(value = "详细地址", example = "stringValue")
    private String address;
    /**
     * 微信昵称
     */
    @ApiModelProperty(value = "微信昵称", example = "stringValue")
    private String qwName;
    /**
     * 主数据customer_base表主键id
     */
    @ApiModelProperty(value = "主数据customer_base表主键id", example = "stringValue")
    private Long customerBaseId;
    /**
     * 外部联系人id
     */
    @ApiModelProperty(value = "外部联系人id", example = "stringValue")
    private String externalUserid;

    /**
     * 客户备注
     */
    @ApiModelProperty(value = "客户备注", example = "stringValue")
    private String cusRemark;

    /**
     * 产品介绍code list id标签
     */
    @ApiModelProperty(value = "产品介绍code list id标签", example = "stringValue")
    private String prodCode;
    /**
     * 好友状态 0未绑定好友，1 已绑定好友
     */
    @ApiModelProperty(value = "好友状态 0未绑定好友，1 已绑定好友", example = "1")
    private Integer firendStaus;
    /**
     * 意向等级_意向字典
     */
    @ApiModelProperty(value = "意向等级_意向字典", example = "stringValue")
    private String intentionGrade;
    /**
     * 意向品牌id ，最新一条
     */
    @ApiModelProperty(value = "意向品牌id ，最新一条", example = "stringValue")
    private String brandId;
    /**
     * 车系 最新一条
     */
    @ApiModelProperty(value = "车系 最新一条", example = "stringValue")
    private String seriesId;
    /**
     * 意向车型id ，最新一条
     */
    @ApiModelProperty(value = "意向车型id ，最新一条", example = "stringValue")
    private String modelId;
    /**
     * 意向车型id ，最新一条
     */
    @ApiModelProperty(value = "意向车型id ，最新一条", example = "stringValue")
    private String modelYearId;
    /**
     * 意向配置id ，最新一条
     */
    @ApiModelProperty(value = "意向配置id ，最新一条", example = "stringValue")
    private String configId;
    /**
     * 分配顾问时间
     */
    @ApiModelProperty(value = "分配顾问时间", example = "2020-03-28T13:46:56.711Z")
    private Date distributeTime;
    /**
     * 跟进人id，org_成员id
     */
    @ApiModelProperty(value = "跟进人id，org_成员id", example = "stringValue")
    private Long followEmpId;
    /**
     * 跟进人姓名
     */
    @ApiModelProperty(value = "跟进人姓名", example = "stringValue")
    private String followEmpName;
    /**
     * 本次跟进备注
     */
    @ApiModelProperty(value = "本次跟进备注", example = "stringValue")
    private String followRemark;
    /**
     * 本次跟进时间
     */
    @ApiModelProperty(value = "本次跟进时间", example = "stringValue")
    private Date followTime;
    /**
     * 跟进内容标签id（到店接待，试乘试驾，下订，交车）
     */
    @ApiModelProperty(value = "跟进内容标签id（到店接待，试乘试驾，下订，交车）", example = "stringValue")
    private String followContent;
    /**
     * 跟进次数
     */
    @ApiModelProperty(value = "跟进次数", example = "stringValue")
    private Long followNum;
    /**
     * 最近一次试乘试驾时间
     */
    @ApiModelProperty(value = "最近一次试乘试驾时间", example = "2020-03-28T13:46:56.711Z")
    private Date driveTime;
    /**
     * 订单创建时间
     */
    @ApiModelProperty(value = "订单创建时间", example = "2020-03-28T13:46:56.711Z")
    private Date orderCreatedTime;
    /**
     * 实销创建时间
     */
    @ApiModelProperty(value = "实销创建时间", example = "2020-03-28T13:46:56.711Z")
    private Date deliveryCreatedTime;
    /**
     * 下次计划跟进内容标签id（0产品介绍 1到店接待，2试乘试驾，3下订，4交车）
     */
    @ApiModelProperty(value = "下次计划跟进内容标签id（0产品介绍 1到店接待，2试乘试驾，3下订，4交车）", example = "stringValue")
    private String planFollowContent;
    /**
     * 下次跟进时间
     */
    @ApiModelProperty(value = "下次跟进时间", example = "2020-03-28T13:46:56.711Z")
    private Date planFollowTime;
    /**
     * 下次跟进时间code
     */
    @ApiModelProperty(value = "下次跟进时间code", example = "stringValue")
    private String planFollowTimeCode;
    /**
     * 下次跟进预约id
     */
    @ApiModelProperty(value = "下次跟进预约id", example = "stringValue")
    private Long planFollowId;
    /**
     * 跟进备注
     */
    @ApiModelProperty(value = "跟进备注", example = "stringValue")
    private String planFollowRemark;
    /**
     * 租户id
     */
    @ApiModelProperty(value = "租户id", example = "stringValue")
    private String tenantId;
    /**
     * 经销商id
     */
    @ApiModelProperty(value = "经销商id", example = "stringValue")
    private String dealerId;
    /**
     * 企微id
     */
    @ApiModelProperty(value = "企微id", example = "stringValue")
    private String corpId;
    /**
     * 第三方预约编号
     */
    @ApiModelProperty(value = "第三方预约编号", example = "stringValue")
    private Long arrangeNo;
    /**
     * 线索源状态（0新建、1已处理，2重复无效、3手机号码无效、4电话无效)
     */
    @ApiModelProperty(value = "线索源状态（0新建、1已处理，2重复无效、3手机号码无效、4电话无效)", example = "1")
    private Integer status;
    /**
     * 删除标志（0：代表存在、-1：代表删除）
     */
    @ApiModelProperty(value = "删除标志（0：代表存在、-1：代表删除）", example = "1")
    private Integer deleted;
    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人", example = "stringValue")
    private String createdBy;
    /**
     * 创建人名称
     */
    @ApiModelProperty(value = "创建人名称", example = "stringValue")
    private String createdName;
    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间", example = "2020-03-28T13:46:56.711Z")
    private Date createdTime;
    /**
     * 修改人
     */
    @ApiModelProperty(value = "修改人", example = "stringValue")
    private String updatedBy;
    /**
     * 修改人名称
     */
    @ApiModelProperty(value = "修改人名称", example = "stringValue")
    private String updatedName;
    /**
     * 修改时间
     */
    @ApiModelProperty(value = "修改时间", example = "2020-03-28T13:46:56.711Z")
    private Date updatedTime;

    @ApiModelProperty(value = "总部客户行为标签信息")
    private String oemCusBehavior;

    @ApiModelProperty(value = "经销商客户行为标签信息")
    private String dealerCusBehavior;
}